package com.duobaoyu.dby.supply.biz.client.boundary.account.bean.bo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author liyang
 * @version 1.0.0
 * @ClassName BalanceChangeDetailBO
 * @createTime 16:46:00 2023/10/10
 */
@Data
public class BalanceChangeDetailBO implements Serializable {
    private static final long serialVersionUID = 3707345933645298896L;

    /**
     * 渠道编号
     */
    private String channelCode;
    /**
     * 渠道对接配置key
     */
    private String configUniqueKey;
    /**
     * 分页页码
     */
    private Integer current;
    /**
     * 分页条数
     */
    private Integer pageSize;
    /**
     * 总条数
     */
    private Long total;
    /**
     * 变动明细
     */
    private List<ChangeDetail> changeDetailList;

    @AllArgsConstructor
    @NoArgsConstructor
    @Builder
    @Data
    public static class ChangeDetail{
        /**
         * 渠道子订单号或物流(运单)单号
         */
        private String channelOrderSn;
        /**
         * 金额（元）
         */
        private BigDecimal amount;
        /**
         * 变动备注
         */
        private String changeRemark;
        /**
         * 账户
         */
        private String account;
        /**
         * 账户类型
         */
        private Integer accountType;
        /**
         * 交易号
         */
        private String tradeNo;
        /**
         * 交易类型
         * @see com.duobaoyu.dby.channel.adapter.enums.biz.balance.TradeTypeEnum
         */
        private String tradeType;
        /**
         * 交易类型名称
         */
        private String tradeTypeName;
        /**
         * 创建时间
         */
        private String createTime;
    }
}
